home *** CD-ROM | disk | FTP | other *** search
/ Creative Computers / Creative Computers CD-ROM, Volume 1 (Legendary Design Technologies, Inc.)(1994).iso / shareware / fractals / apfelkiste / apfelkiste1.3 / includes / printersupport.h < prev    next >
C/C++ Source or Header  |  1994-11-17  |  2KB  |  72 lines

  1. #include <devices/printer.h>
  2. #include <intuition/intuition.h>
  3.  
  4. union printerIO {
  5.     struct IOStdReq        ios;
  6.     struct IODRPReq        iodrp;
  7.     struct IOPrtCmdReq    iopc;
  8. };
  9.  
  10. long OpenPrinter(union printerIO *request)
  11. {
  12.     return (long) OpenDevice("printer.device", 0L, (struct IORequest *) request, 0L);
  13. }
  14.  
  15. long ClosePrinter(union printerIO *request)
  16. {
  17.     CloseDevice((struct IORequest *) request);
  18.     return 0L;
  19. }
  20.  
  21. long PrintString(union printerIO *request, char *string)
  22. {
  23.     request->ios.io_Command    = CMD_WRITE;
  24.     request->ios.io_Data    = (APTR) string;
  25.     request->ios.io_Length    = -1L;
  26.  
  27.     return (long) DoIO((struct IORequest *) request);
  28. }
  29.  
  30. long PrintRaw(union printerIO *request, char *buffer, long count)
  31. {
  32.     request->ios.io_Command    = PRD_RAWWRITE;
  33.     request->ios.io_Data    = (APTR) buffer;
  34.     request->ios.io_Length    = count;
  35.  
  36.     return (long) DoIO((struct IORequest *) request);
  37. }
  38.  
  39. long PrintCommand(union printerIO *request, long command,
  40.             long p0, long p1, long p2, long p3)
  41. {
  42.     request->iopc.io_Command    = PRD_PRTCOMMAND;
  43.     request->iopc.io_PrtCommand    = command;
  44.     request->iopc.io_Parm0        = p0;
  45.     request->iopc.io_Parm1        = p1;
  46.     request->iopc.io_Parm2        = p2;
  47.     request->iopc.io_Parm3        = p3;
  48.  
  49.     return (long) DoIO((struct IORequest *) request);
  50. }
  51.  
  52. long DumpRPort(union printerIO *request, struct RastPort *rastPort,
  53.         struct ColorMap *colorMap, ULONG modes,
  54.         UWORD sx, UWORD sy, UWORD sw, UWORD sh,
  55.         LONG dc, LONG dr,
  56.         UWORD s)
  57. {
  58.     request->iodrp.io_Command    = PRD_DUMPRPORT;
  59.     request->iodrp.io_RastPort    = rastPort;
  60.     request->iodrp.io_ColorMap    = colorMap;
  61.     request->iodrp.io_Modes        = modes;
  62.     request->iodrp.io_SrcX        = sx;
  63.     request->iodrp.io_SrcY        = sy;
  64.     request->iodrp.io_SrcWidth    = sw;
  65.     request->iodrp.io_SrcHeight    = sh;
  66.     request->iodrp.io_DestCols    = dc;
  67.     request->iodrp.io_DestRows    = dr;
  68.     request->iodrp.io_Special    = s;
  69.  
  70.     return (long) DoIO((struct IORequest *) request);
  71. }
  72.